Ellipsoid method

c.f. Center-of-gravity method

Consider a more slightly general problem. Given convex set 𝒦\mathcal{K} via access to separation oracle S𝒦S_\mathcal{K} for the set, we want to determine if 𝒦\mathcal{K} is empty or, otherwise, return any point π±βˆˆπ’¦\mathbf{x} \in \mathcal{K}.

The hyperplane is parameterized by a normal vector 𝐚\mathbf{a} and offset cc so β„‹={𝐱:⟨𝐚,π±βŸ©β‰€c}\mathcal{H} = \{\mathbf{x}: \langle \mathbf{a},\mathbf{x}\rangle \leq c \}.

#incomplete

Theorem (Khachiyan, 1979)

Assume n=dn = d. The ellipsoid method solves any linear program with LL-bit integer valued constraints exactly in O(n4L)O(n^4 L) time.


Separation Oracle Example

#incomplete


Basic ellipsoid method. The basic ellipsoid algorithm is:

The ellipsoid method is not a descent method, so we keep track of the best point found. We define fbest(k)=minj=0,...,kf(x(j))f^{(k)}_{best}=\min_{j=0,...,k} f(x^{(j)})


References:

  1. Khachiyan, L. G. 1979. "A Polynomial Algorithm in Linear Programming".Β Doklady Akademii Nauk SSSRΒ 244, 1093-1096 (translated inΒ Soviet Mathematics DokladyΒ 20, 191-194, 1979).
  2. https://www.nytimes.com/1979/11/07/archives/a-soviet-discovery-rocks-world-of-mathematics-russians-surprise.html
  3. https://www.chrismusco.com/amlds2023/notes/lecture09.html#Ellipsoid_Method
  4. https://www.cs.princeton.edu/courses/archive/fall18/cos521/Lectures/lec16.pdf
  5. https://web.stanford.edu/class/ee364b/lectures/ellipsoid_method_notes.pdf
  6. https://www.cs.ubc.ca/~nickhar/W13/Lecture4.pdf